package com.first.computerstore.dao;

import com.first.computerstore.entity.Address;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 地址dao层
 */
public interface AddressMapper {

    /**
     * 查询用户的地址列表
     * @param uid
     * @return
     */
    List<Address> queryAddressListByUid(Integer uid);

    /**
     * 根据aid查询地址对象
     * @param aid
     * @return
     */
    Address queryAddressByAid(Integer aid);


    /**
     * 根据uid查询现有的地址集合
     * @param uid
     * @return
     */
    List<Address> queryAddressByUid(Integer uid);

    /**
     * 添加新地址
     * @param address
     * @return
     */
    Integer addnewAddress( Address address);

    /**
     * 计算地址的总数量
     * @param uid
     * @return
     */
    Integer queryAddressCount(Integer uid);

    /**
     * 设置默认地址
     * @param uid
     * @param aid
     * @return
     */
    Integer setAddressStatus(@Param("uid") Integer uid, @Param("aid") Integer aid);

    /**
     * 清除所有的默认地址
     * @param uid
     * @return
     */
    Integer removeAddressStatus(Integer uid);

    /**
     * 点击修改按钮的数据回显
     * @param aid
     * @return
     */
    Address queryOneAddress(String aid);

    /**
     * 地址更新操作
     * @param address
     */
    Integer updateAddress(Address address);

    /**
     * 地址删除
     * @param aid
     * @return
     */
    Integer deleteAddress(String aid);
}
